home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mission 3
/
Mission 3.zip
/
Mission 3.iso
/
zugabe
/
va45
/
visual45
/
library
/
wrkspace
/
essai.s
next >
Wrap
Text File
|
1998-08-13
|
2KB
|
92 lines
text
;**** deja testé :
; premier newbloc
; freebloc isolé
; freebloc collé juste avant
; freebloc collé juste aprés
; freebloc collé entre deux
; bloc max inquire
; newbloc de taille nulle -> erreur
; premier workspace
; more workspace
; la taille du premier freebloc dans le workspace est exacte
; more workspace apres
; more workspace avant
; newbloc juste au debut d'un workspace
; newbloc juste a la fin d'un workspace
; plus aucun freebloc : newbloc -> erreur
; newbloc du dernier freebloc
; plus aucun freebloc : freebloc
; newbloc : cas des petits freeblocs <1longheader+1long
; mshrink
; mshrink : cas des petits freeblocs <1longheader+1long
; mshrinkup
; mshrinkup : cas des petits freeblocs <1longheader+1long
; copy_bloc
; copy_bloc autosize s<d
; copy_bloc autosize s>d
; modifs de bounoit : 1,2,3,5
;**** reste a tester :
;*
DEBUG=1
MXALLOC: macro amount
move.w #3,-(sp)
move.l \1,-(sp)
move.w #$44,-(sp)
trap #1
addq.w #8,sp
endm
MFREE: macro amount
move.l \1,-(sp)
move.w #$49,-(sp)
trap #1
addq.w #6,sp
endm
bra dd
include workspa.s
text
GWVA_ERROR_MALLOC=-1
GWVA_WSP_CTE_WORKSPACE=$40
;GWVA_WSP_CTE_TYPICAL_NB_BLOC=10
dd:
lea db_malloc1,a6
bsr GWVA_WSP_MORE_WORKSPACE
bsr GWVA_WSP_BLOC_MAX_SIZE_INQUIRE
move.l #$10,d0
bsr GWVA_WSP_NEW_BLOC
move.l a0,db_b2
move.l #$20,d0
bsr GWVA_WSP_NEW_BLOC
move.l a0,db_b1
move.l #$15161718,(a0)+
move.l #$25262728,(a0)+
move.l #$35363738,(a0)+
move.l #$45464748,(a0)+
move.l #$55565758,(a0)+
move.l db_b1,a0
move.l db_b2,a1
move.l #GWVA_WPS_COPY_AUTOSIZE,d0
bsr GWVA_WSP_BCOPY
illegal
aa:
db_b1: dc.l 0
db_b2: dc.l 0
db_b3: dc.l 0
db_b4: dc.l 0
db_b5: dc.l 0
db_malloc1: dcb.b DB_WORKSPACE_SIZE+_GWVA_WSP_WORKSPACE_STRUCT_LENGTH
dc.l $55555555